Everything about System Time totally explained
In
computer science and
computer programming,
system time represents a computer system's notion of the passing of
time. In this sense,
time also includes the passing of
days on the calendar.
System time is measured by a
system clock, which is typically implemented as a simple count of the number of
ticks that have transpired since some arbitrary starting date, called the
epoch. For example,
Unix and
POSIX-compliant systems encode system time as the number of seconds elapsed since the start of the
epoch at 1970-01-01 00:00:00
Z.
Microsoft Windows counts the number of 100-nanosecond ticks since 1601-01-01 00:00:00 Z as reckoned in the
proleptic Gregorian calendar, but returns the current time to the nearest millisecond.
System time can be converted into
calendar time, which is a form more suitable for human comprehension. For example, the Unix system
time that's 1,000,000,000 seconds since the beginning of the epoch translates into the calendar time 2001-09-09 01:46:40
UTC (sans
leap seconds). Library
subroutines that handle such conversions may also deal with adjustments for
timezones,
Daylight Saving Time (DST),
leap seconds, and the user's
locale settings. Library routines are also generally provided that convert calendar times into system times.
Closely related to system time is
process time, which is a count of the total
CPU time consumed by an executing
process. It may be split into
user and
system CPU time, representing the time spent executing user code and system
kernel code, respectively. Process times are a tally of CPU
instructions or
clock cycles and generally have no direct correlation to
wall time.
File systems keep track of the times that files are created, modified, and/or accessed by storing
timestamps in the
file control block (or
inode) of each
file and
directory.
It should be noted that most first-generation
PCs didn't keep track of dates and times. These included systems that ran the
CP/M operating system, the
Apple II, and the
Commodore PET, among others. The
IBM PC was the first widely available personal computer that came equipped with date/time hardware built into the
motherboard, and subsequent add-on
peripheral boards included
real-time clock chips with on-board
battery back-up. Prior to the widespread availability of
computer networks, most personal computer systems that did track system time did so only with respect to
local time and didn't make allowances for other time zones.
With current technology, all modern computers keep track of wall time, as do many other household and personal devices such as
VCRs,
DVRs,
cable TV receivers,
PDAs,
pagers,
cell phones,
fax machines,
telephone answering machines,
cameras,
camcorders,
central air conditioners, and
microwave ovens.
Retrieving system time
According to the
Wikipedia system clock, the current time is .
The following tables illustrate methods for retrieving the system time in various
operating systems and
programming languages.
Note: values marked by (*) are system-dependent and may differ across implementations.
| Operating System |
Command or Function |
Resolution |
Epoch |
| BIOS (IBM PC) |
INT 1Ah,AH=00h |
54.931 msec 18.204 Hz |
Midnight of the current day |
| INT 1Ah,AH=02h |
1 sec |
January 1, 1980 |
| DOS (Microsoft) |
TIME INT 21h,AH=2Ch |
10 msec |
January 1, 1980 to December 31, 2099 |
| Mac OS (Apple) |
GetDateTime |
1 sec |
January 1, 1904 to February 6, 2040 |
| OpenVMS (HP) |
SYS$GETTIM |
100 nsec |
November 17, 1858 to AD 31086 |
| z/OS (IBM) |
STCK |
2−12 μsec 244.14 picosec |
January 1, 1900 to September 17, 2042 |
| Unix, POSIX |
|
1 sec |
(*) January 1, 1970 to January 19, 2038 January 1, 1970 to AD 292277026596 |
| |
1 μsec |
| Windows (Microsoft) |
GetSystemTime |
1 msec |
January 1, 1601 to AD 30828 |
| GetSystemTimeAsFileTime |
100 nsec |
| Programming Language |
Function or Variable |
Resolution |
Epoch |
| Ada |
Ada.Calendar.Clock |
100 μsec to 20 msec (*) |
January 1, 1901 to December 31, 2099 (*) |
| AWK |
systime |
1 sec |
(*) |
| BASIC, True BASIC |
DATE, DATE$ TIME, TIME$ |
1 sec |
(*) |
| C |
time |
1 sec (*) |
(*) |
| C++ |
std::time |
1 sec (*) |
(*) |
| C# |
System.DateTime.Now |
10 msec (*) |
January 1, 0001 to December 31, 9999 |
| CICS (IBM) |
ASKTIME |
1 msec |
January 1, 1900 |
| COBOL |
FUNCTION CURRENT-DATE |
1 sec |
January 1, 1601 |
| Delphi (Borland) |
datetime |
1 msec (floating point) |
January 1, 1900 |
| FORTRAN |
TIME ITIME, IDATE |
1 sec |
(*) |
| Java |
java.util.Date |
1 msec |
January 1, 1970 |
| MUMPS |
$H (short for $HOROLOG) |
1 sec |
December 31, 1840 |
| Extended Pascal |
GetTimeStamp |
1 sec |
(*) |
| Turbo Pascal |
GetTime GetDate |
10 msec |
(*) |
| Perl |
time |
1 sec |
January 1, 1970 |
| PHP |
time mktime |
1 sec |
January 1, 1970 |
| microtime |
1 msec |
| Python |
time.time |
1 μsec (*) |
January 1, 1970 |
| Ruby |
Time.now |
1 sec |
January 1, 1970 to January 19, 2038 |
| Smalltalk |
Time microsecondClock (VisualWorks) |
1 sec (ANSI) 1 μsec (VisualWorks) 1 sec (Squeak) |
January 1, 1901 (*) |
Time totalSeconds (Squeak) |
SystemClock ticksNowSinceSystemClockEpoch (Chronos) |
| SQL |
CURDATE CURTIME GETDATE NOW SYSDATE |
3 msec |
January 1, 1753 to December 31, 9999 (*) |
| 60 sec |
January 1, 1900 to June 6, 2079 |
| TCL |
[clockseconds] |
1 sec |
January 1, 1970 |
| [clockmilliseconds] |
1 msec |
| [clockmicroseconds] |
1 μsec |
| [clockclicks] |
1 μsec (*) |
(*) |
| Windows PowerShell |
Get-Date |
10 msec (*) |
January 1, 0001 to December 31, 9999 |
| [DateTime]::Now |
| Visual Basic |
System.DateTime.Now |
10 msec (*) |
January 1, 0001 to December 31, 9999 |
Further Information
Get more info on 'System Time'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://system_time.totallyexplained.com">System time Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |